home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / DSGNRLC.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-28  |  5.8 KB  |  252 lines

  1. 10  'DSGNRLC - Resistor/Inductor/Capacitor Circuits  27 SEP 96 rev.
  2. 20  CLS:KEY OFF:COLOR 7,0,1
  3. 30  COMMON EX$
  4. 40  '
  5. 50  '.....start
  6. 60  CLS:N=0:R=0:S=0:C=0:F=0:X=0:V=0:A=0:T=0:W=0
  7. 70  IF CKT$=""THEN RUN"dsgnmenu"
  8. 80  PRINT " RESISTOR/INDUCTOR/CAPACITOR CIRCUITS"
  9. 90  PRINT UL$;
  10. 100  '
  11. 110  '.....display diagrams
  12. 120  LOCATE 3:K=17:GOSUB 260
  13. 130  LOCATE 3:K=42:GOSUB 390
  14. 140  LOCATE 12:K=17:GOSUB 520
  15. 150  LOCATE 12:K=42:GOSUB 650
  16. 160  PRINT UL$;
  17. 170  COLOR 0,7:LOCATE ,17
  18. 180  PRINT "  Press a Fig. number to continue or 0 to EXIT  ";
  19. 190  COLOR 7,0
  20. 200  Z$=INKEY$:IF Z$=""THEN 200
  21. 210  IF ASC(Z$)<48 OR ASC(Z$)>52 THEN 200
  22. 220  IF Z$="0"THEN CHAIN"dsgnmenu"
  23. 230  FIG=VAL(Z$):GOTO 840
  24. 240  GOTO 200
  25. 250  '
  26. 260  '.....fig. 1
  27. 270  COLOR 0,7
  28. 280  LOCATE ,K:PRINT "  I-DEFDBL      R1          "
  29. 290  LOCATE ,K:PRINT "  VARPTRSOUNDSOUNDSOUNDSOUNDSOUNDSOUND\/\/\SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDCOLOR  "
  30. 300  LOCATE ,K:PRINT "  CALL        L1       CALL  "
  31. 310  LOCATE ,K:PRINT " SOUNDBEEPSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDORORORORORSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDBEEPSOUND "
  32. 320  LOCATE ,K:PRINT "  CALL        C1       CALL  "
  33. 330  LOCATE ,K:PRINT "  CLSSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDUSINGSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND'  "
  34. 340  LOCATE ,K:PRINT "                       "
  35. 350  LOCATE ,K:PRINT "        Fig. 1         "
  36. 360  COLOR 7,0
  37. 370  RETURN
  38. 380  '
  39. 390  '.....fig. 2
  40. 400  COLOR 0,7
  41. 410  LOCATE ,K:PRINT "  I-DEFDBL                  "
  42. 420  LOCATE ,K:PRINT "                       "
  43. 430  LOCATE ,K:PRINT "      R1     L1   C1   "
  44. 440  LOCATE ,K:PRINT " SOUNDSOUNDSOUND\/\/\SOUNDSOUNDORORORORORSOUNDSOUNDUSINGSOUNDSOUNDSOUND "
  45. 450  LOCATE ,K:PRINT "                       "
  46. 460  LOCATE ,K:PRINT "                       "
  47. 470  LOCATE ,K:PRINT "                       "
  48. 480  LOCATE ,K:PRINT "        Fig. 2         "
  49. 490  COLOR 7,0
  50. 500  RETURN
  51. 510  '
  52. 520  '.....fig. 3
  53. 530  COLOR 0,7
  54. 540  LOCATE ,K:PRINT "  I-DEFDBL  R1      L1      "
  55. 550  LOCATE ,K:PRINT "  VARPTRSOUNDSOUND\/\/\SOUNDSOUNDSOUNDORORORORORSOUNDSOUNDCOLOR  "
  56. 560  LOCATE ,K:PRINT "  CALL                 CALL  "
  57. 570  LOCATE ,K:PRINT " SOUND<0xB4!>                 BLOADSOUND "
  58. 580  LOCATE ,K:PRINT "  CALL        C1       CALL  "
  59. 590  LOCATE ,K:PRINT "  CLSSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDUSINGSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND'  "
  60. 600  LOCATE ,K:PRINT "                       "
  61. 610  LOCATE ,K:PRINT "        Fig. 3         "
  62. 620  COLOR 7,0
  63. 630  RETURN
  64. 640  '
  65. 650  '.....fig. 4
  66. 660  COLOR 0,7
  67. 670  LOCATE ,K:PRINT "  I-DEFDBL  R1      L1      "
  68. 680  LOCATE ,K:PRINT "  VARPTRSOUNDSOUND\/\/\SOUNDSOUNDSOUNDORORORORORSOUNDSOUNDCOLOR  "
  69. 690  LOCATE ,K:PRINT "  CALL                 CALL  "
  70. 700  LOCATE ,K:PRINT " SOUND<0xB4!>                 BLOADSOUND "
  71. 710  LOCATE ,K:PRINT "  CALL    R2      C1   CALL  "
  72. 720  LOCATE ,K:PRINT "  CLSSOUNDSOUND\/\/\SOUNDSOUNDSOUNDSOUNDSOUNDUSINGSOUNDSOUNDSOUNDSOUND'  "
  73. 730  LOCATE ,K:PRINT "                       "
  74. 740  LOCATE ,K:PRINT "        Fig. 4         "
  75. 750  COLOR 7,0
  76. 760  RETURN
  77. 770  '
  78. 780  '.....voltage indicator
  79. 790  COLOR 0,7
  80. 800  LOCATE ,K:PRINT "  CALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUNDSOUND V SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALL  "
  81. 810  COLOR 7,0
  82. 820  RETURN
  83. 830  '
  84. 840  '.....menu
  85. 850  VIEW PRINT 3 TO 24:CLS:VIEW PRINT
  86. 860  K=30:LOCATE 3
  87. 870  IF FIG=1 THEN GOSUB 260:GOTO 920
  88. 880  IF FIG=2 THEN GOSUB 390:GOTO 920
  89. 890  IF FIG=3 THEN GOSUB 520:GOTO 920
  90. 900  IF FIG=4 THEN GOSUB 650:GOTO 920
  91. 910  '
  92. 920  PRINT UL$;
  93. 930  PRINT " Do you want an (i)mpedance or (o)hm's law calculation?   (i/o)"
  94. 940  Z$=INKEY$:IF Z$=""THEN 940
  95. 950  IF Z$="i"THEN 980
  96. 960  IF Z$="o"THEN K=30:LOCATE 9:GOSUB 780:GOTO 990
  97. 970  GOTO 940
  98. 980  '
  99. 990  VIEW PRINT 12 TO 24:CLS:VIEW PRINT:LOCATE 12
  100. 1000  IF FIG=1 AND Z$="i"THEN 1090
  101. 1010  IF FIG=2 AND Z$="i"THEN 1160
  102. 1020  IF FIG=3 AND Z$="i"THEN 1230
  103. 1030  IF FIG=4 AND Z$="i"THEN 1300
  104. 1040  IF FIG=1 AND Z$="o"THEN 1380
  105. 1050  IF FIG=2 AND Z$="o"THEN 1460
  106. 1060  IF FIG=3 AND Z$="o"THEN 1540
  107. 1070  IF FIG=4 AND Z$="o"THEN 1300
  108. 1080  '
  109. 1090  '.....fig.1 impedance
  110. 1100  GOSUB 1710
  111. 1110  GOSUB 1890
  112. 1120  GOSUB 2060
  113. 1130  IF Z$="1" THEN 1090
  114. 1140  GOTO 2350
  115. 1150  '
  116. 1160  '.....fig.2 impedance
  117. 1170  GOSUB 1710
  118. 1180  GOSUB 1950
  119. 1190  GOSUB 2060
  120. 1200  IF Z$="1" THEN 1160
  121. 1210  GOTO 2350
  122. 1220  '
  123. 1230  '.....fig.3 impedance
  124. 1240  GOSUB 1710
  125. 1250  GOSUB 2000
  126. 1260  GOSUB 2060
  127. 1270  IF Z$="1" THEN 1230
  128. 1280  GOTO 2350
  129. 1290  '
  130. 1300  '.....fig.4 impedance
  131. 1310  INPUT " ENTER: Resistance R2 in ohms..................";S
  132. 1320  GOSUB 1710
  133. 1330  GOSUB 2000
  134. 1340  GOSUB 2060
  135. 1350  IF Z$="1" THEN 1300
  136. 1360  GOTO 2350
  137. 1370  '
  138. 1380  '.....fig.1 ohm's law
  139. 1390  GOSUB 1710
  140. 1400  GOSUB 1890
  141. 1410  GOSUB 1810
  142. 1420  GOSUB 2060
  143. 1430  IF Z$="1" THEN 1380
  144. 1440  GOTO 2350
  145. 1450  '
  146. 1460  '.....fig.2 ohm's law
  147. 1470  GOSUB 1710
  148. 1480  GOSUB 1950
  149. 1490  GOSUB 1810
  150. 1500  GOSUB 2060
  151. 1510  IF Z$="1" THEN 1460
  152. 1520  GOTO 2350
  153. 1530  '
  154. 1540  '.....fig.3 ohm's law
  155. 1550  GOSUB 1710
  156. 1560  GOSUB 2000
  157. 1570  GOSUB 1810
  158. 1580  GOSUB 2060
  159. 1590  IF Z$="1" THEN 1460
  160. 1600  GOTO 2350
  161. 1610  '
  162. 1620  '.....fig.4 ohm's law
  163. 1630  INPUT " ENTER: Resistance R2 in ohms..................";S
  164. 1640  GOSUB 1710
  165. 1650  GOSUB 2000
  166. 1660  GOSUB 1810
  167. 1670  GOSUB 2060
  168. 1680  IF Z$="1" THEN 1620
  169. 1690  GOTO 2350
  170. 1700  '
  171. 1710  '.....input impedance data
  172. 1720  INPUT " ENTER: Resistance R1 in ohms.....................";R
  173. 1730  INPUT " ENTER: Capacitance C1 in pF......................";C:C=C*10^-12
  174. 1740  INPUT " ENTER: Inductance L1 in >H.......................";L:L=L*10^-6
  175. 1750  INPUT " ENTER: Frequency in MHz..........................";F:F=F*10^6
  176. 1760  X=1/(2*PI*F*C)   'reactance
  177. 1770  Y=2*PI*F*L
  178. 1780  D=Y-X
  179. 1790  RETURN
  180. 1800  '
  181. 1810  '.....input ohm's law data
  182. 1820  INPUT " ENTER: Peak Voltage V in volts (0 if unknown)....";V
  183. 1830  IF V=0 THEN 1840 ELSE A=V/Z:GOTO 1860
  184. 1840  INPUT " ENTER: Peak Current I in amps. (0 if unknown)....";A
  185. 1850  IF A=0 THEN 1810 ELSE V=A*Z
  186. 1860  W=ABS(V*A*COS(T)/2)
  187. 1870  RETURN
  188. 1880  '
  189. 1890  '.....fig.1 - impedance
  190. 1900  Z=R*Y*X/SQR(Y^2*X^2+R^2*D^2)
  191. 1910  T=ATN(R*D/(Y*X))
  192. 1920  T=T*180/PI
  193. 1930  RETURN
  194. 1940  '
  195. 1950  '.....fig.2 - impedance
  196. 1960  Z=SQR(R^2+D^2)
  197. 1970  Z=ATN(D/R)
  198. 1980  RETURN
  199. 1990  '
  200. 2000  '.....fig.3 & 4 - impedance
  201. 2010  Z=SQR((R^2+Y^2)*(S^2+X^2)/((R+S)^2+D^2))
  202. 2020  T=ATN((X*(R^2+Y^2)-Y*(S^2+X^2))/(R*(S^2+X^2)+S*(R^2+Y^2)))
  203. 2030  T=T*180/PI
  204. 2040  RETURN
  205. 2050  '
  206. 2060  '.....screen display
  207. 2070  VIEW PRINT 12 TO 24:CLS:VIEW PRINT:LOCATE 12
  208. 2080  PRINT " Resistance R1.......................";USING U$;R;:PRINT " ohms"
  209. 2090  IF S=0 THEN 2110
  210. 2100  PRINT " Resistance R2.......................";USING U$;S;:PRINT " ohms"
  211. 2110  K=C*10^12
  212. 2120  PRINT " Capacitance C1......................";USING U$;K;:PRINT " pF"
  213. 2130  K=L*10^6
  214. 2140  PRINT " Inductance L1.......................";USING U$;K;:PRINT " >H"
  215. 2150  PRINT " Reactance X.........................";USING U$;X;:PRINT " ohms"
  216. 2160  PRINT " Impedance Z.........................";USING U$;Z;:PRINT " ohms"
  217. 2170  IF V*A THEN 2200
  218. 2180  PRINT " Phase Angle.........................";USING U$;T;:PRINT " degrees"
  219. 2190  GOTO 2230
  220. 2200  PRINT " Voltage V...........................";USING U$;V;:PRINT " volts"
  221. 2210  PRINT " Current I...........................";USING U$;A;:PRINT " amps"
  222. 2220  PRINT " Power Consumption...................";USING U$;W;:PRINT " watts"
  223. 2230  PRINT
  224. 2240  LN=CSRLIN
  225. 2250  COLOR 0,7:LOCATE LN,17
  226. 2260  PRINT " Press 1 to repeat calculation or 0 to continue "
  227. 2270  COLOR 7,0
  228. 2280  Z$=INKEY$:IF Z$=""THEN 2280
  229. 2290  IF Z$="0"THEN J=LN:GOTO 2320
  230. 2300  IF Z$="1"THEN J=12:GOTO 2320
  231. 2310  GOTO 2280
  232. 2320  VIEW PRINT J TO 24:CLS:VIEW PRINT:LOCATE 12
  233. 2330  RETURN
  234. 2340  '
  235. 2350  '.....end
  236. 2360  GOSUB 2390
  237. 2370  GOTO 60
  238. 2380  '
  239. 2390  'HARDCOPY
  240. 2400  GOSUB 2510:LOCATE 25,2:COLOR 14,6
  241. 2410  PRINT " Press 1 to print screen, 2 to print screen & ";
  242. 2420  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  243. 2430  Z$=INKEY$:IF Z$="3"THEN GOSUB 2510:RETURN
  244. 2440  IF Z$="1"OR Z$="2"THEN GOSUB 2510:GOTO 2460
  245. 2450  GOTO 2430
  246. 2460  FOR QX=1 TO 24:FOR QY=1 TO 80
  247. 2470  LPRINT CHR$(SCREEN(QX,QY));
  248. 2480  NEXT QY:NEXT QX
  249. 2490  IF Z$="2"THEN LPRINT CHR$(12)
  250. 2500  GOTO 2400
  251. 2510  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  252.